﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MaquinaJMG.GUI.Contrato;
using MaquinaJMG.GUI.Presentador;
using System.Xml;



namespace MaquinaJMG.GUI.Vista
{
    public partial class exportarApuestas : Form,IContratoExportarApuestas
    {
        private PresentadorExportarApuestas _presentadorExportarApuestas;

        private PresentadorAgregarToken _presentadorAgregarToken;

        PendriveImportar _anterior;
        public exportarApuestas(PendriveImportar anterior)
        {
            
            _anterior=anterior;
            _presentadorExportarApuestas = new PresentadorExportarApuestas(this);
            _presentadorAgregarToken = new PresentadorAgregarToken(this);
            InitializeComponent();
            buttonToken.Enabled = false;
            label3.Visible = false;
            txtToken.Visible = false;
            _presentadorExportarApuestas.ConsultarMetodoExportacion();
        }
        static int _id;

        static int tok; 
        public exportarApuestas(int id)
        {
            _id = id;
        }
        public ComboBox metodo
        {
            get { return metodos; }
        }

        public Label Mensaje
        { 
            get {return label2;}
            set { label2 = value; }
        }

        
        
        private void label1_Click(object sender, EventArgs e)
        {

        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            Console.WriteLine(metodos.SelectedText);
            if (metodos.SelectedItem.Equals("Pendrive"))
            {
                
                PendriveExportar proxima = new PendriveExportar();
                
               
              //  _presentadorExportarApuestas.exportar("C:/Repositorio/apuestas.xml");
            }
          

            if (metodos.SelectedItem.Equals("En Linea"))

            {
               
                  _presentadorExportarApuestas.transmitirEnLinea();
            }


        }

        private void button2_Click(object sender, EventArgs e)
        {
            _anterior.Visible = true;
            this.Dispose(true);
            
        }

        private void metodos_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (metodos.SelectedItem.Equals("Pendrive"))
            {
                button1.Enabled = true;
                buttonToken.Enabled = false;
                label3.Visible = false;
                txtToken.Visible = false;
                BtnAceptar.Visible = false;
              
            }


            if (metodos.SelectedItem.Equals("En Linea"))
            {

                button1.Enabled = false;
                buttonToken.Enabled = true;
                BtnAceptar.Visible = false;
            }
        }

        private void buttonToken_Click(object sender, EventArgs e)
        {
            ServicioWebMaquina.ServicioWeb servicio = new ServicioWebMaquina.ServicioWeb();
            MessageBoxIcon mci = new MessageBoxIcon();
            bool respuesta = false;
            label3.Visible = true;
            txtToken.Visible = true;
            BtnAceptar.Visible = true;

            string fecha = DateTime.Now.ToShortDateString();
            string horaCompleta = DateTime.Now.ToShortTimeString();
         
            int hora = DateTime.Now.Hour;
            if (hora == 0)
            { hora = 12; }
            int minuto = DateTime.Now.Minute;

            int idAdmintrador = _id;

            tok = servicio.GeneracionTokenSeguridad(fecha, hora, minuto, idAdmintrador);

            ///
            respuesta =_presentadorAgregarToken.AgregarToken(fecha, hora, minuto, idAdmintrador, tok);
            ///

            string mensaje = ("Token : " + tok + '\n');

            mci = MessageBoxIcon.Information;

            MessageBox.Show(mensaje, "Token de Seguridad",
               MessageBoxButtons.OK, mci);

           // txtToken.Text = tok.ToString();
           
        }

        private void txtToken_TextChanged(object sender, EventArgs e)
        {

        }

        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            int tok2 = int.Parse(txtToken.Text.ToString());

            if (txtToken.Text.ToString() != "" && (tok2 == tok))
            {
                button1.Enabled = true;
            }
            else
            {
                button1.Enabled = false;
                string mensaje = ("Debe introducir el token asignado" );
                MessageBoxIcon mci = new MessageBoxIcon();
                mci = MessageBoxIcon.Information;
              

                MessageBox.Show(mensaje, "Token de Seguridad",
                   MessageBoxButtons.OK, mci);
            }
        }

       

      

        

     
        
        
    }
}
